home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / amms20d.lha / amms / menu / File.bat < prev    next >
DOS Batch File  |  1995-05-30  |  6KB  |  221 lines

  1. ;    $VER: 1.03 / 13.04.1994
  2. ; File-Menue
  3. ; ----------
  4. ; Im Menu ist Command-Bit 6 gesetzt. Deshalb kann der User definiert
  5. ; auf Befehle zugreifen, auf die er normalerweise keinen Zugriff hat.
  6. ; Die Variable COM wird zum Erkennen von Fehlern benutzt. Tritt ein
  7. ; Fehler auf, so wird in die Routine SAVE_ERROR verzweigt, die den Fehler
  8. ; im File mbdat:menu.err protokolliert.
  9. ; Die Variable JUMP wird zum eventuellen Sprung von einem Untermenue zum
  10. ; anderen benutzt, ohne das Hauptmenue dazwischen aufzurufen. In dieser
  11. ; Variable muss dann das entsprechende Label des Untermenues stehen.
  12. ; Soll kein Schnell-Wechsel stattfinden, so darf die Variable JUMP nicht
  13. ; geaendert werden.
  14. ;
  15.  
  16. ;
  17. ; **** File-Menue
  18. ;
  19. MENU="File"                ; Name des Menues
  20. _on error SAVE_ERROR            ; Beim Fehler -> Fehlerbehandlungsrou.
  21.  
  22. ; Menuetext ausgeben und Tasten abfragen
  23.  
  24. MENU:
  25. COM="MENU"                ; Menupunkt in Variable COM speichern
  26. COMNAME="File-Menu"            ; WHO-Befehlsname setzen
  27. _menu/file "menu:'{ALANGUAGE}'/file.txt" -
  28.  "^R" MENU -                ; Bildschirm erneuern
  29.  "B" CLI -                ; Befehleebene
  30.  "C" DELETE_DOWNLOADS -            ; Downloads loeschen
  31.  "D" DOWNLOAD -                ; Download aller markierten Files
  32.  "E" CHANGE_BOARDLIST -            ; brettliste aendern
  33.  "F" FILES -                ; Alle Files anschauen
  34.  "I" FIND_FILE -            ; Suche Files
  35.  "L" SHOW_BOARDLIST -            ; Brettliste anschauen
  36.  "M" MSGS -                ; Message-Menue
  37.  "N" NEW_FILES -            ; Neue Files anschauen
  38.  "P" PMS -                ; PM-Menue
  39.  "Q" MAIN -                ; Main-Menue
  40.  "R" DATE -                ; Files ab Datum als ungelistet markieren
  41.  "S" SELECT -                ; Brettliste anschauen
  42.  "Z" DIRECT                ; Brett-Direktwahl
  43.  
  44. ;
  45. ; **** Endroutine
  46. ; **** Diese Routine muss fuer das Beenden des Menues aufgerufen werden.
  47. ;
  48. END:
  49. _eod                    ; Ende
  50.  
  51. ;
  52. ; **** Rueckkehr in die Befehlsebene
  53. ;
  54. CLI:
  55. COM="CLI"                ; Menupunkt setzen
  56. JUMP=="CLI"                ; Einsprunglabel im Main-Menue setzen
  57. _goto END                ; Ende der Batchdatei
  58.  
  59. ;
  60. ; **** Downloads loeschen
  61. ;
  62. DELETE_DOWNLOADS:
  63. COM="DELETE DOWNLOAD"            ; Menupunkt setzen
  64. COMNAME=COM                ; WHO-Befehlsname setzen
  65. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  66. _delete download            ; Downloads listen und loeschen
  67. _gosub WAIT                ; Warte auf Taste
  68. _goto MENU                ; -> Menue
  69.  
  70. ;
  71. ; **** Batch-Download
  72. ;
  73. DOWNLOAD:
  74. COM="DOWNLOAD"                ; Menupunkt setzen
  75. COMNAME=COM                ; WHO-Befehlsname setzen
  76. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  77. _download                ; Batch-Download starten
  78. _gosub WAIT                ; Warte auf Taste
  79. _goto MENU                ; -> Menue
  80.  
  81. ;
  82. ; **** Brettliste aendern
  83. ;
  84. CHANGE_BOARDLIST:
  85. COM="CHANGE BOARDLIST"            ; Menupunkt setzen
  86. COMNAME=COM                ; WHO-Befehlsname setzen
  87. _if/i {LEVEL} <= GUESTLEVEL then _goto MENU ; Wenn Gast -> Menue
  88. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  89. _files/action=132 :            ; Brettliste aendern
  90. _gosub WAIT                ; Warte auf Taste
  91. _goto MENU                ; -> Menue
  92.  
  93. ;
  94. ; **** Alle Files anschauen
  95. ;
  96. FILES:
  97. COM="FILES"                ; Menupunkt setzen
  98. COMNAME=COM                ; WHO-Befehlsname setzen
  99. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  100. _files                    ; Alle Files anschauen
  101. _goto MENU                ; -> Menue
  102.  
  103. ;
  104. ; **** Files suchen
  105. ;
  106. FIND_FILE:
  107. COM="FIND FILE"                ; Menupunkt setzen
  108. COMNAME=COM                ; WHO-Befehlsname setzen
  109. _disk text "menu:'{ALANGUAGE}'/find_file.txt" ; Infotext ausgeben
  110. _input/maxlength=40/command NAME    ; Suchstring eingeben
  111. _if NAME == "" then _goto MENU        ; Bei Leereingabe -> Menue
  112. _find file "'NAME'"            ; Files suchen
  113. _gosub WAIT                ; Warte auf Taste
  114. _goto MENU                ; -> Menue
  115.  
  116. ;
  117. ; **** Brettliste anschauen
  118. ;
  119. SHOW_BOARDLIST:
  120. COM="SHOW FBOARDLIST"            ; Menupunkt setzen
  121. COMNAME=COM                ; WHO-Befehlsname setzen
  122. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  123. _show fboardlist            ; Brettliste anschauen
  124. _gosub WAIT                ; Warte auf Taste
  125. _goto MENU                ; -> Menue
  126.  
  127. ;
  128. ; **** Message-Menue
  129. ;
  130. MSGS:
  131. COM="MSGS"                ; Menupunkt setzen
  132. JUMP=="MSGS"                ; Einsprunglabel im Main-Menue setzen
  133. _goto END                ; Ende der Batchdatei
  134.  
  135. ;
  136. ; **** Alle Files anschauen
  137. ;
  138. NEW_FILES:
  139. COM="FN"                ; Menupunkt setzen
  140. COMNAME=COM                ; WHO-Befehlsname setzen
  141. _echo/nolf "#RESET##HOME##CLS#"        ; Bildschirm loeschen
  142. _fn                    ; Neue Files anschauen
  143. _goto MENU                ; -> Menue
  144.  
  145. ;
  146. ; **** PM-Menue
  147. ;
  148. PMS:
  149. COM="PMS"                ; Menupunkt setzen
  150. JUMP=="PMS"                ; Einsprunglabel im Main-Menue setzen
  151. _goto END                ; Ende der Batchdatei
  152.  
  153. ;
  154. ; **** Main-Menue
  155. ;
  156. MAIN:
  157. COM="MAIN"                ; Menupunkt setzen
  158. _goto END                ; Ende der Batchdatei
  159.  
  160. ;
  161. ; **** Files ab Datum als ungelistet markieren
  162. ;
  163. DATE:
  164. COM="FILES/DATE"            ; Menupunkt setzen
  165. COMNAME=COM                ; WHO-Befehlsname setzen
  166. _disk text "menu:'{alanguage}'/files_date.txt" ; Text anzeigen
  167. _input/maxlength=20 DATE        ; Datum eingeben
  168. _if DATE != "" then files/date='DATE'    ; Files ab Datum als ungelistet markieren
  169. _goto MENU                ; -> Menue
  170.  
  171. ;
  172. ; **** Brettliste anschauen
  173. ;
  174. SELECT:
  175. COM="SELECT"                ; Menupunkt setzen
  176. COMNAME=COM                ; WHO-Befehlsname setzen
  177. _select                    ; Brett-Direktwahl starten
  178. _goto MENU                ; -> Menue
  179.  
  180. ;
  181. ; **** Brett-Direktwahl
  182. ;
  183. DIRECT:
  184. COM="DIRECT"                ; Menupunkt setzen
  185. _disk execute "menu:file-direct.bat"    ; Direktwahl starten
  186. _if JUMP != JUMP_MAIN then _goto END    ; Wenn direkter Menuewechsel -> Ende
  187. _goto MENU                ; -> Menue
  188.  
  189.  
  190. ;
  191. ; **** SUBROUTINE: Gib einen Infotext aus und warte auf Taste
  192. ;
  193. WAIT:
  194. COM_OLD=COM                ; Alten Menupunkt retten
  195. COM="WAIT"                ; Neuen Menupunkt setzen
  196. _echo/nolf "^J[RETURN]"            ; Gib Wartemeldung aus
  197. _waitkey " ^M"                ; Warte auf Space oder Return
  198. COM=COM_OLD                ; Alten Menupunkt setzen
  199. _return                    ; Ende der Unterroutine
  200.  
  201. ;
  202. ; **** Fehlerbehandlungs-Routine
  203. ;
  204. ; Die Routine erwartet in der Variable COM den Namen des akt. Menupunkts.
  205. ; Sie protokolliert im File mbdat:menu.err die Fehler des Menues.
  206. ;
  207. SAVE_ERROR:
  208. _on error/ignore            ; Alle Fehler ignorieren
  209. _extern echo >>mbdat:menu.err "------------------"
  210. _extern echo >>mbdat:menu.err "Fehler im Menu"
  211. _extern echo >>mbdat:menu.err "Menu : 'MENU'"
  212. _extern echo >>mbdat:menu.err "Punkt: 'COM'"
  213. _extern echo >>mbdat:menu.err "User : '{NAME}'"
  214. _extern echo >>mbdat:menu.err "Datum: '{DATE}'"
  215. _extern echo >>mbdat:menu.err "Zeit : '{TIME}'"
  216. _extern echo >>mbdat:menu.err "------------------"
  217. _disk text "menu:'{ALANGUAGE}'/Error.txt"  ; Fehlertext anzeigen
  218. _waitkey " ^M"
  219. _if COM == "Menu" then _goto END    ; Wenn Fehler im File-Menu -> Main-Menu
  220. _goto MENU                ; -> Menue
  221.